package com.xiaoshuidi.cloud.module.rooms.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xiaoshuidi.cloud.framework.mybatis.core.dataobject.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 公寓预定配置
 *
 * @author Feng
 * @since 2023-05-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("room_reservation_config")
public class RoomReservationConfig extends BaseDO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 公寓ID
     */
    private Long apartmentId;

    /**
     * 预定定金
     */
    private BigDecimal deposit;

    /**
     * 定金类型, 1固定定金 2按租金比例
     */
    private Integer depositType;

    /**
     * 定金保留天数
     */
    private Integer retentionDays;

    /**
     * 状态 1未设置 2已设置
     */
    private String status;

    /**
     * 租户编号
     */
    private Long tenantId;

    /**
     * 未支付失效时间(单位：分钟)
     */
    private Integer unpaidLostTime;

    /**
     * 租金比例
     */
    private Integer rentPercent;

    /**
     * 违约不退（0否 1是）
     */
    private Boolean noRefund;

    /**
     * 违约不退定金违约金比例
     */
    private Integer noRefundPercent;

    /**
     * 协商退订(0否 1是)
     */
    private Boolean consultRefund;

    /**
     * 协商退订退订金额比例
     */
    private Integer consultRefundPercent;

    /**
     * 预订单设置（允许签约带入时可修改，多个逗号隔开）
     */
    private String allowEditConfig;
}
